package com.augurit.wf.client.summary.service;

import java.util.List;

import org.springside.modules.orm.Page;

import com.augurit.wf.client.summary.web.form.WfTaskSummaryForm;
import com.augurit.wf.common.extmodel.SummaryCountNode;

public interface IWfTaskSummaryService {
	
//	public void addTaskSummary(TaskImpl task, String templateCode, String busEntityKey);
	
//	public WfTaskSummaryForm getByTaskInstDbid(Long taskInstDbid);
	
//	public WfTaskSummary getEntityByTaskInstDbid(Long taskInstDbid);
	
//	public void signSummaryTask(Long taskInstDbid);
	
//	public void deleteSummaryTask(Long taskInstDbid);
	
//	public void completeSummaryTask(Long taskInstDbid);
	
//	public void syncTaskSummary(String masterEntity, String masterEntityKey, Object form);
	
	public Page<WfTaskSummaryForm> getSummary(String taskType, Page<WfTaskSummaryForm> page, WfTaskSummaryForm form, String userKey, String groupBy, String groupDir);
	
//	public List<WfTaskSummary> getByAssigneeAndProcessInstanceId(String assignee, String processInstanceId);		
	
//	public void addTaskSummary(Jbpm4Task task, String templateCode, String busEntityKey);
	
	public Page<WfTaskSummaryForm> getZbSummary(Page<WfTaskSummaryForm> page, WfTaskSummaryForm form, String userKey, String groupBy, String groupDir);
	
	public Page<WfTaskSummaryForm> getDbSummary(Page<WfTaskSummaryForm> page, WfTaskSummaryForm form, String userKey, String groupBy, String groupDir);
	
	public Page<WfTaskSummaryForm> getDbAndZbSummary(Page<WfTaskSummaryForm> page, WfTaskSummaryForm form, String userKey, String groupBy, String groupDir);
	
	public Page<WfTaskSummaryForm> getYbSummary(Page<WfTaskSummaryForm> page, WfTaskSummaryForm form, String userKey, String groupBy, String groupDir);
	
	public Page<WfTaskSummaryForm> getBjSummary(Page<WfTaskSummaryForm> page, WfTaskSummaryForm form, String userKey, String groupBy, String groupDir);
	
	public List<SummaryCountNode> getSummaryCount(String userKey, WfTaskSummaryForm form);
}